The efficient storage and retrieval of multi-channel data communications, and especially of voice, are critically important in many modern business and government applications. For example, financial institutions record instructions from clients as a protection against fraud and as evidence in legal proceedings about the content of telephone conversations; public safety agencies record emergency calls for event reconstruction and future investigations; commercial entities monitor transactions over the phone to evaluate salespersons' efficiency, to ensure customer satisfaction and to develop training programs. There is a growing need for reliable recording of multiple channels of multimedia information. These are but a few examples of applications in which it is necessary to efficiently store and process, usually at one location, multiple and frequently simultaneous communications from a large number of incoming data channels. Recent advances in multimedia applications further dictate the necessity to develop practical tools to efficiently process multiple channels in which incoming data can be in different formats, i.e., sound, images, data, etc. It is also apparent that with the proliferation of different communications media, computer platforms and operating systems, a very important practical aspect of all these applications is the ability to provide seamless and efficient interface between the multi-channel data system and its users.
Thus, while capturing the incoming information remains the main function of modern multi-channel data processing systems, other desirable system functions, such as the efficient storage, indexing and retrieval of recorded communications, are becoming increasingly important. Preferably, all system functions should be transparent to the users, regardless of the data format, of the communications media or the specific computer platforms being used. The present invention addresses the need for such a data logging system and method and illustrates their use in practical applications.
Data logging systems for capturing and recording massive volumes of data transmitted over multiple communication lines are known in the art. A typical prior art data logging system, such as the one shown in FIG. 1, is implemented as a single physical unit performing most or all required functions, including telephone interface, signal processing, random access buffering, and archive storage. In many practical applications such implementation is perfectly adequate. Examples of such systems are provided in, for example, U.S. Pat. Nos. 5,819,005; 5,448,420; 5,446,603; 5,396,371; 5,339,203 and 4,827,461 to the assignee of the present application. These patents are hereby incorporated by reference for all purposes.
However, as market needs change and performance demands increase, improved logger architectures have to be designed to support expanding capacity requirements and emerging processing needs. Two strong market demands render prior art logger architectures at a disadvantage in this regard: the need to increase the number of input ports, and the need to provide simple and efficient access to the recorded information in platform-and media-independent ways.
Turning first to the input port requirements, modern data logging applications dictate the need to support an ever-increasing number of input channels. It should be apparent that as the number of channels increases so does the complexity of the processing system. The increased complexity in turn creates at least two potential problems: (a) diminished fault tolerance of the system; and (b) practical constraints on the physical design, including the weight and size of the system, its wiring and power requirements, among others.
Increasing the system's complexity generally results in a greater vulnerability and higher risk of data losses because of the increased probability that one or more system components can malfunction. However, people of skill in the art would recognize that in many applications it is critically important that the operation of the system remain error-free. Because of this stringent requirement and the fact that the information that loggers are entrusted to record is almost always original and ordinarily cannot be artificially regenerated, it is necessary to build into the system sufficient redundancy so that the malfunction of one or more components would not lead to a shutdown of the entire system. This in turn makes it increasingly important to devise a scalable system that provides fault tolerant characteristics regardless of the number of input channels.
Fault tolerant architectures that require additional “standby” hardware to replace failed components are known in the art. One such architecture, shown in FIG. 2, utilizes a local area network (LAN) 48 for communication between loggers 44 and controller 46. Each logger is responsible for recording communications on a plurality of input lines. In order to provide backup logging capabilities in the event a logger 44 fails, spare loggers 42 are provided. In particular, each logger 44 is associated with a spare logger 42 that is kept ready for use in the event the working logger 44 fails. This fault tolerant architecture is wasteful and impractical, because it requires more space and twice the hardware (at twice the cost) of a comparable standard logger system.
An improved architecture of a fault tolerant system, shown in FIG. 3, is described in an application by Yosef, EP 0822696A2, the content of which is hereby incorporated by reference. The Yosef approach is to use a single spare logger to back up a group of N loggers, thereby reducing the hardware cost in the case when N≧2 compared with the system shown in FIG. 2. Notably, however, even in this improved prior art architecture the spare unit is a completely functional device capable of performing all logging functions. Accordingly, it does not take advantage of the fact that in operation certain components of the logger fail much more frequently than others. This is the case, for example, in components with physically moving parts, such as hard drives. In accordance with the present invention cost savings are realized for the same fault tolerance level using separation of the logger into two or more functional stages, where higher redundancy is provided for the components having higher failure rates. As illustrated below, using this approach it is possible to reduce the cost of the system considerably, without affecting its performance level.
As mentioned above, the increased complexity of the system also poses wiring, size and other practical problems. For example, an important consideration when installing a logger with a high number of input channels is the number of wires that interconnect the logger to the PBX. Thus, a logger having 128 input channels requires at least 256 wires. For practical reasons including susceptibility to picking up audible electrical noise over long cable runs, it is desirable to install the logger next to or near the PBX. However, this location may not always be optimal, desirable or even possible in practice. In particular, spatial constraints as well as security issues pose serious problems. Thus, the large size of a high-capacity logger can make it impossible to install it in certain locations. It may further be costly and/or impractical to run massive cable bundles from the PBX room to the loggers. For security reasons it may not even be desirable that the logger is anywhere near the PBX. It should thus be apparent that prior art systems implemented as single physical units suffer from some very serious practical problems. In accordance with the present invention, separation of the logger into several functional stages provides the flexibility to perform different functions at spatially different locations, i.e., in different parts of the same building, city, or the world. In view of the above, the potential advantages of this approach should readily be apparent.
In addition to the requirements for increased capacity, a whole new set of problems is created by the market demand for flexible playback or data access to the stored information. In the context of this application, access to the recorded data is referred to as data “distribution”. People of skill in the art will appreciate that it is by no means a trivial task to design a system capable of recording and processing multiple channels of information, while at the same time providing concurrent access to the recorded information from a large number of users. The task becomes even more complex if the users employ different computer platforms.
While many attempts have been made in the past to address these and other problems associated with prior art data logging, no adequate solution has been proposed so far. The system and method of this invention overcome problems associated with the prior art and thus are believed to present significant technological advance. In particular, separation of the logger into several functional stages provides considerable flexibility in designing a functionally and ergonomically optimized system for use in various practical applications. Further, distributing logger functions into separate physical stages leads to significant and unobvious advantages over the existing practice of utilizing a single physical unit. For example, hardware for performing certain functions in the same system can be bulky and thus inconvenient for positioning at a particular location. Due to the functional separation approach of the present invention, however, bulky parts can advantageously be placed where appropriate. Thus, the relatively bulky recording equipment capturing transaction information in the New York Stock Exchange can be placed miles away from the crammed floor of the Exchange. Additionally, in accordance with the principles of the present invention the design of the distribution stage enables users to access the recorded data at their convenience either real-time or at a later point. Importantly, fault tolerance can be provided at a fraction of the cost associated with prior art approaches. The proposed approach provides better system scalability, reliable performance at a low cost and great flexibility in the retrieval of stored information compared with existing designs.